home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #263 (1993)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #263 (1993)(Rhein-Sieg-Soft).adf
/
VK_PRT_3
/
VK_GFA.txt
< prev
next >
Wrap
Text File
|
1993-10-11
|
5KB
|
139 lines
Tips und Tricks für die Programme Variokartei.GFA
VK_PRT.GFA V3.02a und VK_PAR.GFA V3.0b
------------------------------------------------
Ändern können Sie das Programm natürlich nur, wenn Sie den Interpreter
GFABASIC besitzen.
Sie haben 4000 Datensätze und möchten die letzten 20/30 Datensätze auch
noch eingeben. Weisen Sie der Variablen n& einen höheren Wert zu. Die Va-
riable n& finden Sie am Programmanfang unter Init:, Zeile 47. Bei einer
Fehlermeldung `out of memory' mÜssen Sie am Programmanfang mit RESERVE mehr
Speicher anfordern. Der Speicherbedarf für das Indexfeld errechnet sich
aus Stringlänge mal Anzahl Datensätze plus Verwaltungsbytes. Dazu kommt
noch Speicherbedarf für den Programmtext plus der restlichen Variablen.
Die maximale Länge eines Feldes ist 62 Zeichen. Also fangen wir an:
Indexfeld Strings 4000 * 62 Bytes = 248000 Bytes
Verwaltungsbytes (zwischen 5 und 10 Bytes pro String? Nehmen wir 5
Bytes je String 4000 * 5 Bytes = 20000 Bytes
Feld für die Satznr. 4000 * 5 Bytes = 20000 Bytes (über Pi * Daumen)
Für die restlichen Variablen 10000 Bytes (über Pi * Daumen)
-----------------------------------------------------
Macht zusammen 298000 Bytes
=====================================================
Wenn bei 4000 Datensätzen ein Feld mit 62 Zeichen als Indexfeld
bestimmt wird, kann man den Speicherbedarf mit rund 300000 Bytes
veranschlagen.
Angefordert im Programm werden 350*1024 Bytes, das sind 358400 Bytes.
Es bleiben 50256 Bytes frei.
Wenn Sie nur ein Indexfeld bestimmen, das mit 30 Zeichen/Bytes nur
halb so groß ist, können Sie die Anzahl der Datensätze locker auf
8000 erhöhen. Ohne mehr Speicher anzufordern.
Und es geht doch. Wer den Interpreter GFABASIC nicht hat, kann mit einem
Dateimonitor die Änderungen am Programmtext vornehmen. Ich verwende den
NewZap V3.18 von der Fish-Disk 164. Auf der Franz 004 ist auch einer.
Starten Sie den Monitor, geben Sie oben den Pfad mit dem Namen der
GFABASIC-Datei ein. Zum Beispiel:
df1:vk_prt_3/vk_prt.gfa
MEHR SPEICHER
=============
Für mehr Speicher gehen Sie nach Sektor 7.
VK_PRT.GFA - Cursor pos 06A und 06B - der ASCII-Cursor steht unter
Ä und n von Änderung. Ab 06A steht der Wert, der mit
1024 multipliziert den Gesamtspeicher ergibt. Dort
steht der Wert 015E in Hex, 350 Dezimal.
VK_PAR.GFA - Cursor pos 096 und 097 - der ASCII-Cursor steht unter
Ä und n von Änderung.
Klicken Sie auf den Schalter "GOTO" und geben Sie als Sektor 7 ein.
Klicken Sie mit dem Mauszeiger in das linke Fenster für Hex-Edit. Mit den
Cursor-Tasten verschieben Sie Sie den Cursor, bis zur Cursor pos siehe
oben, der ASCII-Cursor steht unter dem Ä von Änderung.
Ändern Sie nun die Werte, indem Sie neue Hex-Werte eintippen, zum Beispiel:
Hex Dez
-----------
$015E #350 (350 * 1024 Bytes = 358400 Bytes )
$0177 #375
$0190 #400
$01C2 #450
Klicken Sie auf "SAVE", um den geänderten Sektor auf Disk/Platte
zu schreiben.
MEHR DATENSÄTZE
===============
Für mehr Datensätze gehen Sie nach Sektor 8.
VK_PRT.GFA - Cursor pos 1C2 und 1C3 - der ASCII-Cursor steht unter dem
l und 20 von MaxAnzahl Zeichen. Ab 12C steht der Wert für
die Anzahl der Datensätze. Dort steht der Wert 0FA0 in Hex,
4000 Dezimal.
VK_PAR.GFA - Cursor pos 1BA und 1BB - der ASCII-Cursor steht unter dem
l und 20 von MaxAnzahl Zeichen.
Tippen Sie nun die neuen Hex-Werte ein, zum Beispiel:
Hex. Dez.
------------
$0FA0 #4000 Datensätze
$0FD2 #4050
$1194 #4500
$1388 #5000
$1770 #6000
$1B58 #7000
$1F40 #8000
Nach dem Ändern auf "SAVE" klicken. Sie sollten diese Manipulationen nur
bei einer Kopie machen. Das ganze funktioniert nur mit dem Originalpro-
gramm. Wenn das Programm geändert wurde und das PRG dadrch kürzer oder
länger geworden ist, dann verschieben sich alle Adressen auf der Disk.
Sie können auch einen anderen Monitor verwenden, orientieren Sie sich
am ASCII-Text. Mehr Speicher: der erste Hex-Wert unter dem Ä von
Änderung, der zweite unter dem n. Mehr Datensätze: der erste Hex-Wert
unter dem l von MaxAnzahl Zeichen, der zweite unter der 20.
Der Tip zum Tip: zuerst würde ich die Anzahl der Datensätze erhöhen,
den Speicher ev. später.
Etikett 70 x 70 und 89 x 36
===========================
Variokartei nimmt die Inhalte der ersten drei Felder fÜr den Etikettendruck.
In der Feldvariablen a$(n) stehen die Daten von dem Datensatz, der auf dem
Bildschirm angezeigt wird.
a$(0) 'druckt erste Zeile
a$(1) 'druckt zweite Zeile
a$(2) 'druckt dritte Zeile
Wenn Sie weitere Zeilen drucken möchten, zum Beispiel a$(3) und a$(4),
müssen Sie in der Schleife den zweiten Wert um 2 verringern.
Die Zeile am Ende der PROCEDURE Etikett89x36
FOR i|=1 TO 4 wird zu FOR i|=1 TO 2
Die Zeile am Ende der PROCEDURE Etikett70x70
FOR i|=1 to 9 wird zu FOR i|=1 TO 7
Aug. 1993
Lothar Berndt